/*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Version: 0.46.0(21007360cad28648bdf46282a2592cb47c3a7a6f)
 * Released under the MIT license
 * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
 *-----------------------------------------------------------------------------*/
define('vs/basic-languages/xml/xml', ['require', 'require'], require => {
  'use strict'
  var moduleExports = (() => {
    var u = Object.create
    var m = Object.defineProperty
    var g = Object.getOwnPropertyDescriptor
    var p = Object.getOwnPropertyNames
    var k = Object.getPrototypeOf,
      x = Object.prototype.hasOwnProperty
    var f = (e =>
      typeof require < 'u'
        ? require
        : typeof Proxy < 'u'
          ? new Proxy(e, { get: (t, n) => (typeof require < 'u' ? require : t)[n] })
          : e)(function (e) {
      if (typeof require < 'u') return require.apply(this, arguments)
      throw Error('Dynamic require of "' + e + '" is not supported')
    })
    var w = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports),
      b = (e, t) => {
        for (var n in t) m(e, n, { get: t[n], enumerable: !0 })
      },
      i = (e, t, n, r) => {
        if ((t && typeof t == 'object') || typeof t == 'function')
          for (let o of p(t))
            !x.call(e, o) && o !== n && m(e, o, { get: () => t[o], enumerable: !(r = g(t, o)) || r.enumerable })
        return e
      },
      l = (e, t, n) => (i(e, t, 'default'), n && i(n, t, 'default')),
      c = (e, t, n) => (
        (n = e != null ? u(k(e)) : {}),
        i(t || !e || !e.__esModule ? m(n, 'default', { value: e, enumerable: !0 }) : n, e)
      ),
      q = e => i(m({}, '__esModule', { value: !0 }), e)
    var s = w((v, d) => {
      var N = c(f('vs/editor/editor.api'))
      d.exports = N
    })
    var I = {}
    b(I, { conf: () => A, language: () => C })
    var a = {}
    l(a, c(s()))
    var A = {
        comments: { blockComment: ['<!--', '-->'] },
        brackets: [['<', '>']],
        autoClosingPairs: [
          { open: '<', close: '>' },
          { open: "'", close: "'" },
          { open: '"', close: '"' },
        ],
        surroundingPairs: [
          { open: '<', close: '>' },
          { open: "'", close: "'" },
          { open: '"', close: '"' },
        ],
        onEnterRules: [
          {
            beforeText: new RegExp('<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$', 'i'),
            afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
            action: { indentAction: a.languages.IndentAction.IndentOutdent },
          },
          {
            beforeText: new RegExp('<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$', 'i'),
            action: { indentAction: a.languages.IndentAction.Indent },
          },
        ],
      },
      C = {
        defaultToken: '',
        tokenPostfix: '.xml',
        ignoreCase: !0,
        qualifiedName: /(?:[\w\.\-]+:)?[\w\.\-]+/,
        tokenizer: {
          root: [
            [/[^<&]+/, ''],
            { include: '@whitespace' },
            [/(<)(@qualifiedName)/, [{ token: 'delimiter' }, { token: 'tag', next: '@tag' }]],
            [/(<\/)(@qualifiedName)(\s*)(>)/, [{ token: 'delimiter' }, { token: 'tag' }, '', { token: 'delimiter' }]],
            [/(<\?)(@qualifiedName)/, [{ token: 'delimiter' }, { token: 'metatag', next: '@tag' }]],
            [/(<\!)(@qualifiedName)/, [{ token: 'delimiter' }, { token: 'metatag', next: '@tag' }]],
            [/<\!\[CDATA\[/, { token: 'delimiter.cdata', next: '@cdata' }],
            [/&\w+;/, 'string.escape'],
          ],
          cdata: [
            [/[^\]]+/, ''],
            [/\]\]>/, { token: 'delimiter.cdata', next: '@pop' }],
            [/\]/, ''],
          ],
          tag: [
            [/[ \t\r\n]+/, ''],
            [/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/, ['attribute.name', '', 'attribute.value']],
            [/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/, ['attribute.name', '', 'attribute.value']],
            [/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/, ['attribute.name', '', 'attribute.value']],
            [/@qualifiedName/, 'attribute.name'],
            [/\?>/, { token: 'delimiter', next: '@pop' }],
            [/(\/)(>)/, [{ token: 'tag' }, { token: 'delimiter', next: '@pop' }]],
            [/>/, { token: 'delimiter', next: '@pop' }],
          ],
          whitespace: [
            [/[ \t\r\n]+/, ''],
            [/<!--/, { token: 'comment', next: '@comment' }],
          ],
          comment: [
            [/[^<\-]+/, 'comment.content'],
            [/-->/, { token: 'comment', next: '@pop' }],
            [/<!--/, 'comment.content.invalid'],
            [/[<\-]/, 'comment.content'],
          ],
        },
      }
    return q(I)
  })()
  return moduleExports
})
